[TOC]

CSL 1.0.1 Specification

介绍

CSL 是一种基于 XML 的格式,用来描述引用的格式,注释和参考文献,提供了

  • 一种开放的(开源的)格式
  • 紧凑并且稳定的格式
  • 对格式要求的外部支持
  • 对格式的发布和更新的基本支持
  • 数千种免费提供 的样式

有关的其他文档,CSL 介绍,样式和本地化文件详见 CSL 项目主页

术语

关键字 MUST,MUST NOT,REQUIRED,SHALL,SHALL NOT,SHOULD,SHOULD NOT,RECOMMENDED,MAY OPTIONAL 将按IETF RFC 2119中的描述解释。

命名习惯

在引用 CSL 元素时,将在前面使用cs:

翻译习惯

这里将列出一些常用的术语的翻译,但只是本人自己的理解,并不能保证翻译的准确性。后文的描述中可能会使用英文或者中文翻译。

locale files/locale 本地化文件

styles 样式/格式

citation 引文

macro 宏

文件类型

这里有 3 种 CSL 文件类型:从属样式和独立样式 (都使用.csl作为扩展名),以及 本地化文件 (名字为"locales-xx-XX.xml",其中 "xx-XX"表示语言以及其方言,e.g. "en-US" 表示美式英语)。

独立样式

独立样式包含用来描述引文,笔记以及参考文献的格式的元数据。虽然它们大多数自包含的(即不依赖其他样式),但是依赖于本地化文件。

从属样式

从属样式的内容仅包含样式元数据,不包括任何格式说明。通过将具有相同引用风格的期刊(e.g., “Nature Biotechnology”, “Nature Nanotechnology”)的从属样式链接到独立样式(e.g., “Nature Journals”),从属样式就不再需要重复的格式说明。(也就是说从属样式是依赖其他样式的,被依赖的样式成为称为父样式

本地化文件

每个本地化文件包含一系列对某种语言/方言的本地化数据(词语翻译,本地化日期格式以及语法选项)。(本地化文件主要用于在不同的语言环境中使用样式,比如在中文环境中使用,中文对应的本地化文件可以将英文中的"et al."替换为等.

XML 声明

每个样式或者本地化文件应该以 XML 声明开头,给出具体的 XML 版本以及字符编码。大多数情况下,XML 声明是:

<?xml version="1.0" encoding="UTF-8"?>

样式结构

根元素 cs:style

样式的根元素是cs:style。在独立格式中,根元素携带以下几种属性:

class

​ 决定样式的引文类型是 in-text (值是 "in-text") 或者 note (值是"note") 。in-text表示引文在文字中,note 表示引文不在文字中,可能是脚注等等。

default-locale (可选)

​ 为本地化设值默认的 locale。值必须是 locale code

version

​ 样式的 CSL 版本。对于 CSL 1.0 兼容样式,必须是 "1.0"

此外,cs:style可能携带任意的全局选项可继承名称选项

在这些属性中,从属格式中,只有version是必须的, default-locale 属性可以设置用来代替的默认的本地化文件 。其他的属性是可以忽略的。

下面是一个独立样式的 cs:style示例,最前面是 XML 声明:

<?xml version="1.0" encoding="UTF-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" default-locale="fr-FR"/>

cs:style的子元素

在独立格式中,cs:style有以下子元素:

cs:info

info元素必须是cs:style的第一个子元素。其中包括了用来描述样式的元数据 (style name, ID, authors,也就是样式名称、样式ID以及样式的作者)。

cs:citation

​ 必要元素,用来描述 in-text 引文或者 notes 引文的具体格式。

cs:bibliography (可选)

​ 可能会出现一次。描述参考文献列表的格式。

cs:macro (可选)

​ 可能多次出现。宏通过格式化指示来重复使用,可以使样式更加的紧凑和易维护。

cs:locale (可选)

​ 可能多次出现。用于指定或者覆盖当前的本地化数据。

从属格式中,cs:style只有一个子元素,cs:info

Info

cs:info包含了样式的元数据。其结构基于Atom Syndication Format。在独立格式中,cs:info有下面的几个子元素:

cs:authorcs:contributor (可选)

cs:authorcs:contributor分别用来致谢样式的作者和贡献者,可能被使用多次。在这些元素中,必须包含子元素cs:namecs:emailcs:uri则可能有,也可能没有,这些子元素分别代表作者或者贡献者的名字,邮箱和URI。(即,作者和贡献者的名字是必须的,邮箱和 URI 则是可选的)

cs:category (可选)

​ 样式可能被分类到一个或者多个类别,cs:category可能被使用一次,用来描述 in-text 引文怎么渲染。使用citation-format属性设置其为以下几种情形:

  • “author-date” - 例如 “… (Doe, 1999)”

  • “author” - 例如 “… (Doe)”

  • “numeric” - 例如 “… [1]”

  • “label” - 例如 “… [doe99]”

  • “note” - 因为在边注或者脚注出现。

    cs:categroy也可能在携带field属性时多次使用,用来对学科进行分类(见[附录I 学科分类](附录I 学科分类))。

cs:id

​ 必须出现一次。该元素应该包含一个 URI 以建立样式的ID,对于公开可用的样式,需要一个稳定、唯一的并可以引用的 URI。

cs:issn/cs:essn/cs:issnl(可选)

cs:issn元素可以多次使用,用来表示该 CSL 对应的期刊的 ISSN 。 cs:eissncs:issnl 可以分别用来表示 eISSN 和 ISSN-L

cs:link (可选)

​ 可以使用多次。cs:link必须携带两个属性hrefrelhref用来设置 URI (通常情况下为 URL),rel表明 URI 与当前样式的关系,它的值可能是:

  • “self” - 该 URI 值为样式的 URI
  • “template” - 该 URI 是用来编写该样式的模板的 URI
  • “documentation” - 该 URI 是该样式的文档

cs:published (可选)

cs:published必须是一个时间戳,用来表明样式创建的时间或者可获得的时间。

cs:rights (可选)

cs:rights表明了该 CSL 的 license,可能会携带license属性。

cs:summary (可选)

​ 给出该 CSL 的简单描述。

cs:title

​ 其内容应该是该 CSL 展示给使用者的名字。

cs:title-short (可选)

​ 是上述名字的缩写,比如APA

cs:updated

​ 内容是一个时间戳,用来表示该 CSL 的最后更新时间。

cs:link, cs:rights, cs:summary, cs:titlecs:title-short元素可以携带xml:lang属性用来表示元素内容的语言(值必须是xsd:language locale code中的一个)。对于cs:link,该属性可以用来表示链接目标的语言。

在从属格式中,当cs:link中的 href为其父格式的 URI 时,rel属性必须设置为"independent-parent"。此外,从属格式的ref不能设置为"template",这在独立格式中才能使用。

下面是一个独立样式cs:info的例子:

<info>
  <title>Style Title</title>
  <id>http://www.zotero.org/styles/style-title</id>
  <link href="http://www.zotero.org/styles/style-title" rel="self"/>
  <author>
    <name>Author Name</name>
    <email>name@domain.com</email>
    <uri>http://www.domain.com/name</uri>
  </author>
  <category citation-format="author-date"/>
  <category field="zoology"/>
  <updated>2008-10-29T21:01:24+00:00</updated>
  <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work
  is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported
  License</rights>
</info>

Citation

cs:citation元素描述了引文的格式,其中引文可以是一条或者多条。引文的格式可能是 in-text citations(即文字中的引文)和 notes(注记)。in-text citations 包括 ("author",例: [Doe]"author-date",例: [Doe 1999]"label",例: [doe99]"author",例: [Doe] 或者 "number",例:[1] ) 。这要求cs:layout子元素来描述什么样的数据,以及怎么被引用(见Layout)。在cs:layout之前可能会有cs:sort元素,用来描述引文的排序(见排序)。此外,cs:style可能携带任意的引文选项可继承名称选项中的属性。下面是一个cs:citation的例子:

<citation>
  <sort>
    <key variable="citation-number"/>
  </sort>
  <layout>
    <text variable="citation-number"/>
  </layout>
</citation>

对 CSL 处理器开发者的一个建议

在 note 格式中,引文通常是一个句子。因此,当注释前面没有内容时,引文的首字母最好大写。在其他情况,引文应该是用原样打印。

Bioliography

cs:bioliography元素描述了参考文献条目的格式。同cs:citation相同,其子元素cs:layout用来描述每个条目的格式,cs:sort元素用来描述条目的排序。此外,cs:bibliography可能携带任意的参考文献目录选项可继承名称选项中的属性。下面是一个cs:bioliography的例子:

<bibliography>
  <sort>
    <key macro="author"/>
  </sort>
  <layout>
    <group delimiter=". ">
      <text macro="author"/>
      <text variable="title"/>
    </group>
  </layout>
</bibliography>

Macro

宏,使用cs:macro元素定义,包含了格式的指令。宏可以在其他宏,cs:layout元素(cs:citationcs:bioliography中),cs:key元素(cs:sort元素)中通过cs:text调用。宏在文件中位置的通常建议是:放在cs:locale元素后以及cs:citation元素前。

宏通过cs:macro元素的属性name的值来调用。cs:macro必须包含一个或者多个渲染元素

使用宏可以提高样式的可读性,紧凑性以及可维护性。通过过宏调用来保持cs:citation元素和cs:bioliography元素的内容紧凑通常是推荐的做法。为了在其他样式中方便的重复使用,宏名字建议使用通用的名字。

下面是一个实例:引文中包括项目题目,并当条目为"book"时,设置字体为italic

<style>
  <macro name="title">
    <choose>
      <if type="book">
        <text variable="title" font-style="italic"/>
      </if>
      <else>
        <text variable="title"/>
      </else>
    </choose>
  </macro>
  <citation>
    <layout>
      <text macro="title"/>
    </layout>
  </citation>
</style>

Locale

来自"locales-xx-XX.xml"locale file 的本地化数据可以通过cs:locale元素来重定义或者补充定义。cs:locale元素应该放在cs:info元素后。

cs:locale元素的xml:lang属性是可选的,必须设置为xsd:language locale code中的一种,用来确定使用的语言环境(或方言,见 [locale fallback](locale fallback))。

对于cs:locale元素的详细使用,另见 术语本地化日期格式本地化选项

下面是一个cs:locale元素的例子:

<style>
  <locale xml:lang="en">
    <terms>
      <term name="editortranslator" form="short">
        <single>ed. &amp; trans.</single>
        <multiple>eds. &amp; trans.</multiple>
      </term>
    </terms>
  </locale>
</style>

Locale Fallback

本地化文件为语言方言提供了本地化数据;可选的cs:locale元素的xml:lang属性设置为一种语言(例如, "en" 代表英语 ) 或者方言(例如, "en-US" 代表美式英语 ) ,xml:lang属性也可能缺失。Localr fallback 是一种在上述的属性设置中检索来确定本地化单元的机制。这些本地化单元包括日期格式,本地化选项或者术语的特定形式。

对于同一种语言的方言,一种被称为初级方言,其他都是二级方言。下面展示了部分语言的初级方言和二级方言:

| 初级方言 | 二级方言 | | ——– | ———— | | de-DE | de-AT, de-CH | | en-US | en-GB | | pt-PT | pt-BR | | zh-CN | zh-TW |

这里用一个例子来描述 Locale fallback。如果要选择 "de-AT"(Austrian German)作为使用环境,本地化单元可以来自下面的源(优先级逐渐降低):

A. 样式文件中的 cs:locale元素

  • xml:lang设置为方言 "de-AT"
  • xml:lang设置为 "de"
  • xml:lang不设置

B. Locale files/本地化文件

  • xml:lang设置为方言 "de-AT"
  • xml:lang设置为对应的初级方言 "de-DE" (standard german)
  • xml:lang设置为"en-US"

也就是说,如果要使用"de-AT"语言,首先在 Locale files 中寻找"de"对应的 locales-de-XX.xml 文件,即"locales-de-AT.xml""locales-de-DE.xml",由于要设置的语言环境是方言"de-AT",所以选择de-AT对应的 locale file locales-de-AT.xml。接下来,如果 csl 文件中包含 cs:locale元素,将会覆盖 locales-de-AT.xml 文件的设置。

Locale Files(本地化文件)

尽管本地化数据可以包括在 csl 文件中(见Locale),但是本地化文件可以方便的提供本地化数据的设置,包括术语,日期格式以及语法选项。

每个本地化文件包括了一种语言方言的本地化数据。本地化文件中根元素为cs:locale(样式/style中则为cs:style元素)。在cs:locale根元素中,属性xml:lang用来设置方言。同时这一设置选项也用来对本地化文件命名("xx-XX"文件名为locales-xx-XX.xml)。此外,根元素必须携带version属性,表明本地化文件的 CSL 版本(对 CSL 1.0 兼容的 locale file 必须设置为"1.0")。本地化文件有和样式同样的命名空间。cs:locale元素可能包含cs:info作为第一个子元素,同时,必须含有cs:termscs:datecs:style-options子元素。下面是一个 本地化文件的部分示例:

<?xml version="1.0" encoding="UTF-8"?>
<locale xml:lang="en-US" version="1.0" xmlns="http://purl.org/net/xbiblio/csl">
  <style-options punctuation-in-quote="true"/>
  <date form="text">
    <date-part name="month" suffix=" "/>
    <date-part name="day" suffix=", "/>
    <date-part name="year"/>
  </date>
  <date form="numeric">
    <date-part name="year"/>
    <date-part name="month" form="numeric" prefix="-" range-delimiter="/"/>
    <date-part name="day" prefix="-" range-delimiter="/"/>
  </date>
  <terms>
    <term name="no date">n.d.</term>
    <term name="et-al">et al.</term>
    <term name="page">
      <single>page</single>
      <multiple>pages</multiple>
    </term>
    <term name="page" form="short">
      <single>p.</single>
      <multiple>pp.</multiple>
    </term>
  </terms>
</locale>

Info

cs:info元素用来给出本地化文件的元数据。它含有以下子元素:

cs:translator(可选)

cs:translator用来致谢翻译者,并且能使用多次。在这个元素中。子元素cs:name必须出现一次,cs:uri则是可选的。这些子元素应该分别包括翻译者的名字,地址和 URI。(与样式中类似)

cs:rights(可选)

​ 可能出现一次。cs:rights的内容用来指定本地化文件发布版本的 license。该元素可能会携带license属性来指定license的 URI,xml:lang属性则用来指定元素内容的语言(值必须是xsd:language locale code)。

cs:updates(可选)

cs:updated元素的内容必须是一个时间戳来指定本地化文件最后一次更新的时间。

Terms(术语)

术语是本地化的字符串,比如通过使用"and"术语,"Doe and Smith"在语言环境从英语到德语的转换中会自动变为"Doe und Smith"。术语用cs:term元素定义,是cs:terms元素的子元素。每个cs:term元素必须携带一个name属性,其属性值可以设置为[附录II 术语](#附录II 术语)列表中的值。

术语可以直接在cs:term的内容中定义,或者,在某些情况下,比如在需要单数和复数的情况下可以分别在子元素cs:singlecs:multiple中定义, (例如: "page""pages")。

术语必须使用cs:term元素来定义,并在其中使用form属性来设置特定格式,form可以设置的值为:

  • "long" - (默认值), e.g. “editor” and “editors” for the “editor” term
  • "short" - e.g. “ed.” and “eds.” for the term “editor”
  • "verb" - e.g. “edited by” for the term “editor”
  • "verb-short" - e.g. “ed.” for the term “editor”
  • "symbol" - e.g. “§” and “§§” for the term “section”

如果一个样式使用了一个没有定义的格式,则会会退到其他形式,比如 "werb-short"会回退到"verb""symbol"会回退到"short""verb""short"都会回退到"long"。如果没有可以用的语言环境或者 form 格式,改术语的渲染结果就会显示为空字符串。

cs:term元素可以使用matchgendergender-form属性来设置数字变量渲染为序数(比如,first2nd)。具体见下面的序数后缀特定序数

术语内容不应该包括 Latex 以及 HTML 等标记。上标可以使用 Unicode 上标字符。

序数后缀

数字变量可以使用cs:number元素以"ordinal"格式(即序数格式)渲染,比如:2nd。序数的后缀则是使用术语来定义的。

"ordinal"术语定义了默认的序数后缀格式,但这些默认的后缀可以被下面的术语对某些数字进行覆盖:

  • "ordinal-00""ordinal-09" - 默认地,当术语名称的最后一位数字与要渲染的数字的最后一个数字相同时,将使用在这个范围内的对应的术语。比如:"ordinal-00" 能够匹配数字 0 、10、20 等等。通过设置属性match"last-two-difits"(默认值为"last-digit"),匹配范围将为变为两位,例如:0、100、200等。当match术语设置为"whole-number"时,只有术语与要渲染的数字相同时,才会实现匹配。
  • "ordinal-10""ordinal-99"- 默认地,当要渲染的数字的最后两位和术语中相同时,使用这个范围的术语。当match属性设置为"whole-number"时(默认为"last-two-digits"),只有术语与要渲染的数字相同时,才会实现匹配。

当渲染的数据对上面的两组都匹配时(比如:13 可以同时匹配 "ordinal-03""ordinal-13"),则使用"ordinal-10""ordinal-99"

序数术语在 CSL 1.0.1 和 CSL 1.0 中表现时不同的。当样式和本地化文件中都没有定义"ordinal"术语,但是定义了"ordinal-00""ordinal-04",原始的 CSL 1.0 的方案被使用,"ordinal-01"用于以1结尾的数字(以11结尾的数字除外)," ordinal-02"用于以2结尾的数字(以12结尾的数字除外),"ordinal -03"表示以3结尾(那些以13结尾的除外),"ordinal-04"表示所有其他数字。

性别特定序数

一些语言使用特定的有别于性别的序数。例如,如果目标名词是男性,英语中的 “1st” 和 “first” 在法语中就翻译为 “1er” 和 “premier”,如果目标名词是女性,就翻译为 “1re” 和 “première”。

女性和男性在术语使用上的不同可以使用性别格式gender-form的属性来设置(分别设置为femininemasculine),详情见Ordinals序数(没有性别的术语表示中性)。这里涉及到两类目标名词:a) 数字变量附带的术语,b)月份术语(见Months/月)。在术语设置为"long"(默认),并且在gender属性被设置时(设置为"feminine""masculine"),这些名词即使用相应的性别变体。当数字变量以序数"ordinal"或者long-ordinal形式时,将使用相同性别的序数词,如果没定义女性或男性变体,则使用中性变体。当"day"日期部分以序数"ordinal"形式呈现时,序数性别和月的术语匹配。

下面给出1re éd."1st ed.")、"1er janvier""January 1st")和"3e édition""3rd edition")的示例:

<?xml version="1.0" encoding="UTF-8"?>
<locale xml:lang="fr-FR">
  <terms>
    <term name="edition" gender="feminine">
      <single>édition</single>
      <multiple>éditions</multiple>
    </term>
    <term name="edition" form="short">éd.</term>
    <term name="month-01" gender="masculine">janvier</term>
    <term name="ordinal">e</term>
    <term name="ordinal-01" gender-form="feminine" match="whole-number">re</term>
    <term name="ordinal-01" gender-form="masculine" match="whole-number">er</term>
  </terms>
</locale>

本地化日期格式

cs:date元素中,本地化数据格式有两种格式:一种是"numeric"(例:12-15-2005),另外一种是 "text"(例:December 15,2005)。格式在cs:date元素中,使用form属性来设置。

日期格式使用cs:date-part子元素来构建(见Date-part)。当cs:date-partname属性设置为"day""month"、或"year"时,反应了日期显示的顺序为日、月河年。日期可以使用cs:datecs:date-part元素中的formattingtext-case属性设置。cs:date元素中的delimiter属性用来设置cs:date-part中不同部分的间隔,并且词缀也可以应用于cs:date-part元素。(译注:这里的词缀指的是前后的括号等等。)

:定义本地化日期格式时,不允许在cs:date上使用词缀。此限制适用于将特定于语言环境的词缀(在cs:date-part元素上设置)与任何特定于样式的词缀(在调用cs:date元素上设置)分开,例如括号:

<macro name="issued">
 <date variable="issued" form="numeric" prefix="(" suffix=")"/>
</macro>

本地化选项

本地化选项有两个,limit-day-ordinals-to-day-1punctuation-in-quote (见Locale Options)。这些全局选项(同时影响引文和参考文献条目)在cs:style-options中被设置为可选属性。

渲染元素

渲染元素指定了在引文或参考文献条目中需要包含哪些条目元数据,以及以何种方式排序,并对其格式进行控制。

Layout

cs:layout渲染元素是cs:citation元素和cs:bibliography元素的的必要子元素。cs:layout必须包含一个或者多个渲染元素,并且可能携带affixesformattig属性。在cs:citation元素中,delimiter属性用来指定一个引文中的不同引用的间隔符。例如:一个"(1,2)"类型的引文可以使用下面的代码实现:

<citation>
  <layout prefix="(" suffix=")" delimiter=", ">
    <text variable="citation-number"/>
  </layout>
</citation>

Text

cs:text渲染元素用来输出文字。其必须携带下面的属性来确定什么部分需要渲染:

  • variable- 渲染一个变量的文本内容。属性值必须是标准变量。可以与form属性一起选择变量的"long"(默认)或"short"形式(例如:设置题目,完整题目或者简写)。如果选择了"short"形式,但是却没法获得,就使用"long"形式来渲染。
  • macro - 渲染宏的文字输出。属性值必须和cs:macro元素的name属性的值相匹配。
  • term - 渲染术语。属性必须是[附录II 术语](#附录II 术语)中的术语列表中的一个。通过设置复数属性plura l来这只其使用单数还是复数形式,其中"true"为默认,表示使用复数形式,设置为"false"表示使用单数形式。 使用form属性可以设置术语的形式,其值可以为"long" (默认)、"short""verb""verb-short"或者"symbol" (见术语).
  • value - 渲染属性值自己。

一个cs:text的渲染title变量的例子:

<text variable="title"/>

cs:text 可能会携带 affixesdisplayformattingquotesstrip-periodstext-case 属性。

Date

cs:date渲染元素输出必须从日期变量列表中的选择。日期可以以本地化或者非本地化格式呈现。

本地化的日期格式通过可选的form属性来选择,其值必须设置为"numeric"(完全的数字格式 ,例如:12-15-2005)或者"text"(非数字的月份格式,例如: December 15, 2005)。本地化日期格式可以通过两种方式进行自定义。第一种:date-parts属性可以用来设置不同的日期组成部分。其值可以设置为:

  • "year-month-day" - 默认值,渲染年,月,日
  • "year-month" - 渲染年月
  • "year" - 只渲染年

第二种,cs:date可以含有一个或者多个cs:date-part子元素(见Date-part)。在这些子元素中可以设置属性来覆盖之前的本地化设置(例如:要获得所有语言环境的缩写月份,可以将月份的cs:date-part元素的form属性设置为"short")。这些cs:date-part子元素不影响各个日期部分渲染的顺序和以及其是否渲染。cs:date-part元素中不能使用词缀 Affixes.

没有属性form的情况下,cs:date则描述了一个自带的非本地化的日期格式。其日期格式使用cs:date-part子元素来构建。在使用name属性并设置为daymonthyear时,这些元素的顺序反应了其显示顺序。日期可以在cs:date-part元素中使用formatting属性以及多个cs:date-part的属性来格式化(见Date-part)。cs:date中的delimiter属性可以用来设置cs:date-part元素不同日期部分的分隔符,此外,词缀可以用在 cs:date-part elements。

本地化的日期或者是非本地化的日期,, cs:date 都可能携带 affixesdisplayformattingtext-case 属性。

Date-part

cs:date-part元素用来控制日期的各个部分怎么渲染。除了其父元素cs:date调用了本地化日期格式,这些子元素同样可以决定哪些部分出现以及各部分的渲染顺序。cs:date-part元素描述了name属性选择的日期部分,其name值可以是:

“day”

​ 对于"day"来说,cs:date-part可能会携带form属性,值可以设置为:

  • “numeric” - (默认),例如,每个月第一天显示为 1

  • “numeric-leading-zeros” - 不够的位数用0补齐,例如,01

  • “ordinal” - 使用序数形式,例如,1st

    有的语言种,比如法语,只在月份的第一天使用"oridinal"也就是序数形式(”1er janvier”,”2 janvier”,”3 janvier”等)。这种输出可以通过"oridinal"以及limit-day-oridinals-to-day-1属性来设置 (see 本地化选项)。

“month”

​ 对于"month"来说,cs:date-part可能会携带strip-periodsform属性。在locale files中,月份缩写应该后面要加点(例如: “Jan.”, “Feb.”)。点可以设置strip-periods"true"去掉。form属性可以设置为:

  • “long” - 默认,例如:January
  • “short” - 例如:Jan.
  • “numeric” - 例如:1
  • “numeric-leading-zeros” - 例如:01

“year”

​ 对"year"来说,cs:date-part可能会携带form属性,值可以设置为:

  • “long” - 默认,例如:2020
  • “short” - 例如:20

cs:date-part 也可能携带formattingtext-caserange-delimiter 属性。除在cs:date元素中使用,其他情况下,cs:date-part是可以使用词缀的。

Date Ranges

默认的日期范围中的分隔符是短线(en-dash),比如:May–July 2008。可以在cs:date-part元素中通过range-delimiter属性来设置常用的分隔符。当日期范围被渲染的时候,范围分隔符从cs:date-part元素中提取,并且匹配两个日期差别中最大的部分(”year”,”month”,或 “day”)。如下面的例子,将会渲染出类似"1-4 May 2008", "May–July 2008" "May 2008/June 2009"的日期范围。

<style>
  <citation>
    <layout>
      <date variable="issued">
        <date-part name="day" suffix=" " range-delimiter="-"/>
        <date-part name="month" suffix=" "/>
        <date-part name="year" range-delimiter="/"/>
      </date>
    </layout>
  </citation>
</style>

AD and BC

"ad"一词(Anno Domini)自动附加到小于四位数的正年份(例如,"79"变为"79AD")。"bc"一词(Before Christ)自动附加到负年份(例如,"-2500"变为"2500BC")。

Seasons

如果日期中包含了季节而不是月份,日期术语("season-01" "season-04", 分别代表春夏秋冬)将取代月份术语。比如,下面将会被渲染为"May 2008" "Winter 2009"

<style>
  <citation>
    <layout>
      <date variable="issued">
        <date-part name="month" suffix=" "/>
        <date-part name="year"/>
      </date>
    </layout>
  </citation>
</style>

Approximate Dates

近似日期,在is-uncertain-date属性设置为"true"时即渲染(见choose)。例如:下面的例子讲渲染出2005(正常日期)和ca.2003(近似日期)的结果。

<style>
  <citation>
    <layout>
      <choose>
        <if is-uncertain-date="issued">
          <text term="circa" form="short" suffix=" "/> # circa 是大约的意思
        </if>
      </choose>
      <date variable="issued">
        <date-part name="year"/>
      </date>
    </layout>
  </citation>
</style>

Number

cs:number渲染元素输出variable属性选择的数字变量。数字变量标准变量的子集。

使用cs:number元素来渲染数字变量时,如果只包含数字内容(使用is-numeric属性设置,见 Choose),数字就被提取出来并渲染。变量内容包含非数字内容时,变量内容将呈现为原样。

在提取的过程中,用连字符分隔的数字将去掉中间的空格(”2 - 4” 变为 “2-4”)。用逗号分隔的数字在逗号后会添加一个空格,并删掉其余的空格(”2,3” 和 “2 , 3” 变为 “2, 3”)。当数字使用&分隔时,在前后各添加一个空格(”2&3” 变为 “2 & 3”)。

提取的数字可以通过form属性行进格式化,其值可以设置为:

  • “numeric” - 默认,例如: “1”, “2”, “3”
  • “ordinal” - 序数数字,例如: “1st”, “2nd”, “3rd”。序数后缀可以使用术语定义 (见 序数后缀.
  • “long-ordinal” - 长序数,例如: “first”, “second”, “third”。畅序数使用术语”long-ordinal-01” 到 “long-ordinal-10”定义, 用来在数字1到10使用。对于其他的数字,长序数渲染的结果讲和序数相同.
  • “roman” - 罗马数字,例如:”i”, “ii”, “iii”

带有前缀或者后缀的数字不能使用罗马数字进行排序或者渲染(例如:”2E” 仍然时 “2E”)。没有词缀的数字可以被分别转换(”2, 3” 可以转换为 “2nd, 3rd”, “second, third” 或者 “ii, iii”)。

cs:number元素可能会携带affixesdisplayformattingtext-case 属性。

Names

cs:names元素用来输出一个或多个名字变量(或名称变量)的内容(通过必选属性variable来选择),每个names元素可以包含一个或者多个名称变量(例如:"author"名称变量会携带引用项中所有的作者名称)。如果选择了多个变量,每个变量将会按顺序单独渲染,但当选择中包括编辑和翻译("editor""translator")不适用。当包含的内容中有两个名字变量相同时,则只渲染一个。另外,如果cs:names元素中包含cs:label元素,"editortranslator"将用来代替"editor""translator"(例如:Doe(editor & tranlator))。cs:names元素中的delimiter属性可以用来分割不同的名字变量(例如:Doe, Smith (editors); Johnson (translator)中间使用了分号隔开)。

<names variable="editor translator" delimiter="; ">
  <label prefix=" (" suffix=")"/>
</names>

cs:names有四个子元素:cs:namecs:et-alcs:substitutecs:labelcs:names 元素可能会携带 affixes, displayformatting 属性。

Name

cs:name元素的一个可选的子元素cs:names可以用来描述单个names的格式,以及名称变量中不同names的分隔。cs:name可能携带下面的属性:

and

​ 在名称变量中用来设置倒数第二个名字和倒数第一个名字的分隔符。可选的值为"text"(”Doe, Johnson and Smith”)或者"symbol"(eg: “Doe, Johnson & Smith”)。

delimiter

​ 在名称变量中设置字符串来分隔名称。默认的是","(e.g. “Doe, Smith”)。

delimiter-precedes-et-al

​ 确定在使用et-al缩写的情况下,在截断的姓名列表和et-al术语之间何时使用分隔符或者空格。该属性可选的值有:

  • “contextual” - (default), 在作者列表中有2个及以上的人时使用
    • 1 name: “J. Doe et al.”
    • 2 names: “J. Doe, S. Smith, et al.” 两个人,则在最后一个人名和et-al间使用,分隔
  • “after-inverted-name” - 在name-as-sort-order属性使当前的名字发生了颠倒时使用。例如:当name-as-sort-order属性设置为"first"时,第一个名字的前后部分 Doe 和 J 发生了反转,因此在第一个名字后面使用了分隔符,
    • “Doe, J., et al.”
    • “Doe, J., S. Smith et al.”
  • “always” - 不论几个名字或者怎样的设置,总是使用
    • 1 name: “J. Doe, et al.”
    • 2 names: “J. Doe, S. Smith, et al.”
  • “never” - 禁止使用分隔符,不论几个名字。
    • 1 name: “J. Doe et al.”
    • 2 names: “J. Doe, S. Smith et al.”

delimiter-precedes-last

在名字列表中确定何时使用分隔符来分割最后一个作者和倒数第二个作者。如果and没有被设置,则不论delimiter-precedes-last属性的值,名字分隔符总是使用。

  • “contextual” - 默认,当名字列表中的名字有3个或以上时使用。下面在使用3个名字时,在and前使用了分隔符,
    • 2 个名字: “J. Doe and T. Williams”
    • 3 个名字: “J. Doe, S. Smith, and T. Williams”
  • “after-inverted-name” - 在name-as-sort-order属性使当前的名字发生了颠倒时使用。例如:当name-as-sort-order属性设置为"first"时,仅在第一个名字后使用了分隔符,
    • “Doe, J., and T. Williams”
    • “Doe, J., S. Smith and T. Williams”
  • “always” - 分隔符一直使用。
    • 2 names: “J. Doe, and T. Williams”
    • 3 names: “J. Doe, S. Smith, and T. Williams”
  • “never” - 禁用分隔符
    • 2 names: “J. Doe and T. Williams”
    • 3 names: “J. Doe, S. Smith and T. Williams”

et-al-min/et-al-use-first

通过设置这两个属性,可是使用et-al对名字列表进行缩写。如果名字变量中的名字的数目超过了et-al-min属性设置的值,则达到et-al-use-first设置的名称数量后,渲染的名字列表将被截断。"et-al"(或者"and others")术语用来添加到截断列表的后面(见et-al)。默认地,当名字列表被截断到单个名字,则名字和"et-al"术语之间使用空格进行隔开(例如:Doe et al.)。当一个名字列表被截断到两个或者三个名字,则使用分隔符(例如:Doe, Smith, et al.)。这些行为可以使用delimiter-precedes-et-al属性来设置。

et-al-subsequent-min/st-al-subsequent-use-first

如果使用了这两个属性,则属性的值分别替换et-al-minet-al-use-first的值以便后续引用。

et-al-use-last

当该属性设置为"true"时,(默认为"false"),则使用下面的格式:截断的名称列表,分隔符,省略号,名称列表最后一个名字。这个属性只能在名称列表有多余两个的名称时使用。例:

A. Goffeau, B. G. Barrell, H. Bussey, R. W. Davis, B. Dujon, H.
Feldmann, … S. G. Oliver

下面讨论的属性将只会影响单个人的名字,这里先给出名字的组成部分。单个人的名字必须含有 “family” 部分,还可以含有 “given”,”suffix”,”non-dropping-particle”,和”dropping particle” 等部分。下面对这些部分分别进行解释:

  • “family” - 姓氏,必须去掉 particle(译注:暂译为粒子)和后缀
  • “given” - 全名 “John Edward”或者 J. E.
  • “suffix” - 名字后缀,比如:外国人常用的 Jr 或者罗马数字(经常翻译为 xx世,比如伊丽莎白二世) “Jr.” in “John Smith Jr.” 或者 “III” in “Bill Gates III”
  • “non-dropping-particle” - 不可删除(省略)的粒子。当只显示姓氏的时候,不能省略(”de” in the Dutch surname “de Koning”) ,但是可能会在姓氏中分别对待,比如在排序的时候
  • “dropping-particle” - 可删除的粒子。当只显示姓氏的是欧,可以省略 (”van” in “Ludwig van Beethoven”, which becomes “Beethoven”)

下面的属性将会影响单个人的名称的渲染:

form

指定是否显示名字的所有部分(默认为"long"),或者只显示姓氏和不可省略粒子(值为"short")。除这两种情况外,还可以设置为"count",返回使用cs:names元素渲染的部分的总数(考虑et-al缩写和编辑/翻译等折叠的影响)。

initialize

当该属性设置为"false时(默认的结果为"true"),并且"initialize-with"属性被设置时,全名将不使用缩写。但是,如果在全名中有单独的大写字母的时候,仍然会添加``”initialize-with”的值。例如:当initialize设置为”false”,并且initialize-with设置为”.”`时,James T kirk 将会变为 James T. Kirk。

initialize-with

当该实行被设置时,全名将会使用缩写。该属性将会在每个首字母后添加属性值,比如:上述的名字会变为 J.J. Doe。对于合成的全名,例如:Jean-luc,可以使用全局的带有连字符的initialize-with-hyphen属性来设置其缩写形式(见人名中的连字符)。

name-as-sort-order

指定名字的显示顺序为:姓,然后是名,例如:John Doe 变为 Doe,John。该属性值可以设置为:

  • “first” - 属性只影响名字变量中的第一个名字
  • “all” - 属性将会影响所有的名字

注意:即使name-as-sort-order改变了名字内部的顺序,最终显示的顺序不一定与包含粒子和后缀的名字的相同(见名字内部顺序)。name-as-sort-order只影响以拉丁字母或者西里尔字母书写的名字。其他字母书写的名字(比如,亚洲的大部分名字)总是将全名中的姓显示在前面。

sort-separator

设置名字的不同部分由于name-as-sort-order属性导致的内部位置变换后的分隔符。默认值为","(Doe, John)。和name-as-sort-order属性相同,该属性只适用于拉丁字母和西里尔字母的名字。

cs:name元素也可以携带词缀格式化

名字内部顺序

名字内部各部分的顺序取决于cs:name元素中formname-as-sort-order属性和cs:style元素中的demote-non-droping-particle属性的设置。名称各部分的显示和排序的属性通常是不同的。下面将对名字顺序进行简单的介绍:

拉丁/西里尔名字的显示顺序


条件:form 属性设置为"long"

顺序:1. 名 2. 可省略粒子 3. 不可省略粒子 4. 姓 5. 后缀

示例:Jean de La Fontaine III


条件:form 属性设置为"long"name-as-sort-order属性激活,demote-non-dropping-particle属性设置为"never"或者"sort-only"

顺序:1. 不可省略粒子 2. 姓 3. 名 4. 可省略粒子 5. 后缀

示例:La Fontaine, Jean de, III


条件:form 属性设置为"long"name-as-sort-order属性激活,demote-non-dropping-particle属性设置为"display-and-sort"

顺序:1. 姓 2. 名 3. 可省略粒子 4. 不可省略粒子 5. 后缀

示例:Fontaine, Jean de La III


条件:form 属性设置为"short"

顺序:1. 不可省略粒子 2. 姓

示例:La Fontaine


拉丁/西里尔名字的排序顺序


条件:demote-non-dropping-particle属性设置为"never"

顺序:1. 不可省略粒子+姓 2. 可省略粒子 3. 名 4. 后缀

示例:La Fontaine de Jean III


条件:demote-non-dropping-particle属性设置为"sort-only"或者"display-and-sort"

顺序:1. 姓 2. 可省略粒子+不可省略粒子 3. 名 4. 后缀

示例:Fontaine de La Jean III


非拉丁和非西里尔名字的显示和排序顺序


条件:form属性设置为"long"

顺序:1. 姓 2. 名

示例:张三 或者 Zhang San


条件:form属性设置为"short"

顺序:1. 姓

示例:张 或者 Zhang


名字格式化

cs:name元素可能会携带一个或者两个cs:name-part子元素来对名字的小部分进行特定的格式化。cs:name-part必须携带name属性,设置为"given"或者"family"

如果设置为"given"cs:name-part元素的格式化文字大小写属性会影响"given""dropping-particle"部分。词缀出现在"given"左右,将该部分扩起来。

如果设置为"family"cs:name-part元素的格式化文字大小写属性会影响"given""non-dropping-particle"部分。词缀出现在"family"左右,将该部分扩起来。

"suffix"部分不受 name-part 部分格式限制。cs:name-part元素不影响 name-part 渲染的顺序。下面的代码,将产生类似 Jane DOE 的效果:

<names variable="author">
  <name>
    <name-part name="family" text-case="uppercase"/>
  </name>
</names>

Et-al

Et-al 缩写通过et-al-...属性来控制(见Name),同时也可以使用可选的cs:et-al元素设置,cs:et-al元素必须放在cs:name元素后。term属性可以被设置为"et-al"(默认)或者"and others"格式化属性可以用来设置 et-al 的格式,下面是 "et-al"术语的一个例子:

<names variable="author">
  <et-al term="and others" font-style="italic"/>
</names>

Substitute

可选的cs:substitute元素,是cs:names的子元素,且必须是最后一个子元素,在父元素cs:names中指定的名称变量为空时添加替换。替换必须放在cs:substitute元素中,并且必须包含一个或者多个渲染元素(除cs:layout)。cs:names的简洁版本没有子元素,继承了cs:names元素中在cs:namecs:et-al子元素的属性值。如果cs:substitute元素包含了多个子元素,第一个非空的元素用于替换。替换变量在输出的其余部分被抑制,以防止重复。下面的例子中:"author"名称变量为空时,就被"editor"名称变量替换,在没有 editor 时,则使用"title"宏替换。

<macro name="author">
  <names variable="author">
    <substitute>
      <names variable="editor"/>
      <text macro="title"/>
    </substitute>
  </names>
</macro>

Label in cs:names

cs:label元素是可选的(见Label),而且必须位于cs:namecs:et-al元素后,在cs:substitute元素前。当cs:label作为cs:names元素的子元素时,cs:label不能携带variable属性,而是使用父元素cs:names中的变量。第二个区别是:form属性可以设置为"verb"或者"verb-short",其所有允许的值为:

  • “long” - (默认), 例如, “editor”术语渲染为”editor” 和 “editors”
  • “short” - 例如,”editor”术语渲染为”ed.” 和 “eds”
  • “verb” - 例如,”editor”术语渲染为”edited by”
  • “verb-short” - 例如,”editor”术语渲染为”ed.”
  • “symbol” - 例如,”section”术语渲染为 “§” 和 “§§”

Label

cs:label渲染元素输出与所选变量匹配的术语,该属性必须设置为”locator”、”page”或数字变量之一。只有当选择的变量是非空的时候,术语才会渲染。例如:

<group delimiter=" ">
  <label variable="page"/>
  <text variable="page"/>
</group>

可以生成"page 3"或者"pages 5-7"cs:label可能会携带下面的属性:

form

​ 选择术语的形式,可以设置为下面的值:

  • “long” - (默认), 例如: “page” 术语渲染为”page”/”pages”
  • “short” - 例如: “page” 术语渲染为”p.”/”pp.”
  • “symbol” - 例如: “section” 术语渲染为 “§”/”§§”

plural

​ 设置术语的复数形式,可以使用下面的值:

  • “contextual” - (默认),复数形式的渲染和具体的内容相匹配。当内容中包含多个数字时,使用复数形式。如下面的渲染结果:”page 1”,”pages 1-3”,”volume 2”,”volumes 2 & 4”。或者在使用number-of-pagesnumber-of-volumes时,数字大于1,例如: (”1 volume” 和 “3 volumes”。
  • “always” - 总是使用复数形式,不管具体的内容如何。例如:”pages 1” 和 “pages 1-3”
  • “never” - 禁止使用复数形式,不管具体内容: “page 1”和”page 1-3”

cs:label也可能会携带affixes, formatting, text-casestrip-periods 属性。

Group

cs:group元素必须包含一个或者多个渲染元素(除了 cs:layout)。cs:group可以携带delimiter属性来分隔子元素以及affixesdisplayformatting属性。cs:group隐含的条件,当以下情况出现时,cs:group和它的子元素将会被抑制:a)在cs:group中至少一个渲染元素调用了变量(直接地或者通过宏调用),b)所有被调用得变量都为空。

<layout>
  <group delimiter=" ">
    <text term="retrieved"/>
    <text term="from"/>
    <text variable="URL"/>
  </group>
</layout>

上述代码可以生成"retrieved from http://dx.doi.org/10.1128/AEM.02591-07"类似得结果,但是当URL为空的时候,不生成结果。

Choose

cs:choose元素允许有条件的渲染元素。下面的例子的意思为:在"issud"日期变量存在的情况下,就实施渲染,如果不存在,就给出"no date"术语:

<choose>
  <if variable="issued">
    <date variable="issued" form="numeric"/>
  </if>
  <else>
    <text term="no date"/>
  </else>
</choose>

cs:choose元素中必须还有cs:if子元素,后面还可以有一个或者多个cs:else-if子元素以及一个可选的用来结尾的cs:else元素。cs:ifcs:else-if元素可能回包含任意个除cs:layout的渲染元素。由于空的cs:else元素是多余的,所以cs:else元素必须至少包含一个渲染元素。cs:ifcs:else-if元素必须含有一个或多个判断条件,这些条件可以使用下买的属性设置:

disambiguate

​ 当改属性设置为"true"(唯一允许的值)的时候,在元素内容消除了两个相同的引用时渲染。当所有其他消除歧义的方法都不能识别唯一的目标时,才进行消除歧义的尝试。

is-numeric

​ 测试给定的变量([附录IV 变量](#附录IV 变量))是不是包含数字部分。如果内容仅由数字构成,则识别为数字。数字可以带有前缀、后缀(”D2”,”2b”,”L2d”)、并且可能被逗号,连字符或&分隔(”2, 3”,”2-4”,”2 & 4”)。 例如, “2nd”被识别为 “true” ,但 “second”和”2nd edition”被识别为”false”.

is-uncertain-date

​ 判断给定的日期变量是不是包含[近似日期](#Approximate Dates)。

locator

​ 判断位置是不是和给定的位置符合。这里的位置主要是在一个文档中的位置,比如,题目,第几段。使用 “sub-verbo”判断是不是”sub-verbo”类型

position

​ 判断引用的位置湿否和给定的位置匹配。当在cs:bibliography中调用时,position的结果为”false”。位置可以使用下面的选项测试:

  • “first”: 第一个引用项的位置

  • “ibid”/”ibid-with-locator”/”subsequent”: 引用先前引用的项目的引用,Such cites may also have the “ibid” or “ibid-with-locator” position when:

    1. the current cite immediately follows on another cite, within the same citation, that references the same item

    or

    1. the current cite is the first cite in the citation, and the previous citation consists of a single cite referencing the same item

    If either requirement is met, the presence of locators determines which position is assigned:

    • Preceding cite does not have a locator: if the current cite has a locator, the position of the current cite is “ibid-with-locator”. Otherwise the position is “ibid”.
    • Preceding cite does have a locator: if the current cite has the same locator, the position of the current cite is “ibid”. If the locator differs the position is “ibid-with-locator”. If the current cite lacks a locator its only position is “subsequent”.
  • “near-note”: position of a cite following another cite referencing the same item. Both cites have to be located in foot or endnotes, and the distance between both cites may not exceed the maximum distance (measured in number of foot or endnotes) set with the near-note-distance option (see Note Distance).

Whenever position=”ibid-with-locator” tests true, position=”ibid” also tests true. And whenever position=”ibid” or position=”near-note” test true, position=”subsequent” also tests true.

type

​ 测试项目是不是和给定的类型匹配([附录 III 类型](#附录 III 类型))。这里的类型指条目的类型,例如,书,期刊文献,学位论文。

variable

​ 测试给定变量([附录IV 变量](#附录IV 变量))的默认的形式(long)是不是为空。


除了disambiguate外,所有的条件都允许有多个测试值,多个测试值使用空格分隔(”book thesis”)。

cs:if元素和cs:else-if元素可能会携带match属性用来控制判断的逻辑,match可设置的值为:

  • “all” - 默认,仅当所有给定测试值都为 true 的时候结果才为 true
  • “any” - 当任意一个值为 true 的时候,结果就为 true
  • “none” - 当没有值测试为 true 的时候,结果为 true

样式行为

选项

样式可以使用不同的元素来进行特定的配置。在cs:citation元素中设置元素可以配置特定的引文选项;在cs:bibliography元素和全局选项(同时影响引文和参考文献条目)中,可以配置特定的参考文献条目。继承的名字选项可以在cs:style,cs:stylecs:bibliography中设置。最后,本地化选项可以在cs:locale元素中设置。

引文选项

消除歧义

当一个引用对应多个参考文献条目的时候会产生歧义。下面有四种方法用来消除歧义:

  1. 显示更多作者姓名
  2. 扩展姓名(添加缩写或者完整的名)
  3. 添加年份后缀
  4. cs:choosedisambiguate属性为 true 的时候,实行渲染

方法2也可以在全局名称歧义消除异己整个文档中有歧义的地方。

消除歧义的方法在下面属性被设置的时候,将会被激活,并且按上述列表中的方法进行尝试:

disambiguate-add-names 步骤1

​ 如果设置为"true"(默认为false),使用 et-al 缩写锁代替的名字列表会逐个的加入到渲染列表中,知道添加的名字可以消除引用歧义为止。

disambiguate-add-givenname 步骤2

​ 如果设置为"true"(默认为false),产生歧义的名字将被扩展。名字扩展可以使用givenname-disambiguation-rule设置。下面是一个例子。 

| 含有歧义的引用 | 消除歧义的引用 | | —————————- | ———————————- | | (Simpson 2005; Simpson 2005) | (H. Simpson 2005; B. Simpson 2005) | | (Doe 1950; Doe 1950) | (John Doe 1950; Jane Doe 1950) |

如果不能通过扩展名字来实现消除歧义,当disambiguate-add-names属性设置为"true", the names still hidden as a result of et-al abbreviation after the disambiguation attempt of disambiguate-add-names are added one by one to all members of a set of ambiguous cites, until no more cites in the set can be disambiguated by adding expanded names.

givenname-disambiguation-rule

用来指定 a) 名字扩展的目的是不是仅限于消除歧义,还是对消除歧义的名字有其他的目的(只有在后面的情况中,有歧义的名字才会在明确的引用中扩展,例如:从(Doe 1950; Doe 2000)扩展到(Jane Doe 1950; John Doe 2000)) b)名称扩展是针对全部还是针对每个引用的名字 c)扩展名字的方法。

扩展单个名字

​ 扩展单个名字的步骤是:

  1. 如果initialize-with被设置并且initialize的值为默认的 true: (a) 可以通过"long"而不是"short"的形式来渲染首字母 (e.g. Doe 变为 J. Doe) (b) 如果initialize设置为"flase",完整的姓名被渲染,而不是首字母(J. Doe 变为 John Doe)
  2. 如果initialize-with没有被设置,使用"long"格式渲染完整的姓名(Doe 变为 John Doe)

消除歧义法则

givenname-disambiguation-rule属性可设置的值为:

​ “all-name”

​ 名字扩展具有消除名字歧义和消除引用歧义的双重目的。在渲染的有歧义的名称中,所有的有歧义的或者没有歧义的名字都将被消除歧义。

​ “all-names-with-initials”

​ 和 “all-name” 一样,但是名称的扩展仅限于缩写。当initialize-with没被设置或者initialize被设置为"false"时,不会进行消除歧义的尝试。

​ “primary-name”

​ 和 “all-name” 一样,但是消除歧义仅限于每个引用的第一个名字。

​ “primary-name-with-initials”

​ 和 “all-names-with-initials” 一样,但是消除歧义仅限于每个引用的第一个名字。

​ “by-cite”

​ 默认,和 “all-name” 一样,但是名称扩展的目的仅限于消除引用的歧义,只有有歧义的名字在有歧义的引用中才会被影响,并且在引用的第一个名字消除歧义后就停止消除歧义。

disambiguate-add-year-suffix 步骤3

如果设置为"true"(默认为"false"),字母序的年后缀将会被添加到有歧义的名字上(”Doe 2007, Doe 2007” 变为 “Doe 2007a, Doe 2007b”)。当字母序到达"z",后,就会启用两个字母(”z”, “aa”, “ab”, …, “az”, “ba” 等等)。


如果应用上述的歧义消除方法后仍然存在歧义,则尝试通过disambiguate条件来渲染不同的引用[步骤4] (见choose)。

引用分组

通过引用分组,可以将相同名称的文本引用放在一起,比如:(Doe 1999; Smith 2002; Doe 2006; Doe et al. 2007)将会变为(Doe 1999; Doe 2006; Smith 2002; Doe et al. 2007)。引用分组在引用排序和消除歧义后执行。分组后的引用保持其相对顺序,并移到第一个改组中引用出现的第一个位置。

引用分组可以在cs:citation元素中通过设置cite-group-delimiter属性或者collapse属性(见[cite collapsing](#cite collapsing))激活。

cite-group-delimiter

激活引用分组并为引用组中的引用指定分隔符,默认为","。例如,当cs:citation元素中的cs:layout中的delimiter设置为";"时,collapse设置为"year"cite-group-delimiter设置为",",将生成类似 “(Doe 1999,2001; Jones 2000)” 的引用。

cite collapsing/引用折叠

author或者author-date类型的引用格式中的引用分组和数字格式中的引用范围可以通过collapse属性来折叠。折叠引用组中分隔符可以是使用year-suffix-delimiterafter-collapse-delimiter属性来设置:

collapse

激活引用分组和折叠。允许的值为:

  • “citation-number” - 当使用数字样式的时候,折叠引用数字的范围(通过"citation-number"变量来渲染) ,例如:”[1, 2, 3, 5]” 变为 “[1–3, 5]”。只有升序的引用才可以折叠,比如: “[3, 2, 1]” 将不会折叠。
  • “year” - 通过压缩相同的名字来折叠引用分组,例如: “(Doe 2000, Doe 2001)” 变为 “(Doe 2000, 2001)”。
  • “year-suffix” - 对名字相同的折叠项,折叠相同的年份,例如: “(Doe 2000a, 2000b)”变为”(Doe 2000a, b)”。
  • “year-suffix-ranged” - 对名字相同的折叠项,折叠年份范围,例如: “(Doe 2000a, b, c, e)”变为”(Doe 2000a–c,e)”。

disambiguate-add-year-suffix设置为"false"时,或者引用中包含位置(例如:“(Doe 2000a-c, 2000d, p. 5, 2000e,f)”,”Doe 2000d”有一个页码位置),”year-suffix”和”year-suffix-ranged”回退到”year”。

year-suffix-delimiter

​ 设置年份后缀的分隔符。默认在cs:citation元素的cs:layout中设置。例如:当collapse设置为"year-suffix"cs:citation中的cs:layoutdelimiter元素设置为";",并且year-suffix-delimiter设置为","时,渲染结果将类似于 “(Doe 1999a,b; Jones 2000)”。

after-collapse-delimiter

​ 设置折叠后的引用组要使用的分隔符。默认在cs:citation元素的cs:layout中设置。例如:当collapse设置为"year"cs:citation中的cs:layoutdelimiter元素设置为",",并且after-collapse-delimiter设置为";"时,渲染结果将类似于 “(Doe 1999, 2001; Jones 2000, Brown 2001)”。

标注距离

near-note-distance

当有一个预先的标注时,"near-note"位置是我引用被判断为真,这种预先的标注可以为 a) 指向同一个项目 b) 当前注视以前的脚注或尾注。(译注:不知道讲了什么)

参考文献目录选项

空白

hanging-indent

​ 如果设置为 "true"(默认为"false"),参考文献列表将采用悬挂缩进渲染。

second-field-align

​ 如果该属性被设置,则书目条目的后续行沿第二字段对齐。 使用”flush”时,第一个字段与边距齐平。 对于”margin”,第一个字段放在margin中,随后的行与margin对齐。例如,当第一个字段设置为<text variable="citation-number" suffix=". "/>

9.  Adams, D. (2002). The Ultimate Hitchhiker's Guide to the
    Galaxy (1st ed.).
10. Asimov, I. (1951). Foundation.

line-spacing

​ 指定垂直方向的行距。默认值为"1",即单倍行距。可以被设置为任意正整数,用来表示对应倍数的行距。

entry-spacing

​ 指定不同条目垂直方向的距离,默认值为"1",即一倍距离,可以被设置为任意正整数,用来表示对应倍数的距离。

参考文献分组

subsequent-author-substitute

​ 如果该属性被设置,则此属性将用上一条条目中的名称替换参考文献条目中的名字。具体的代替方案取决于subsequent-author-substitute-rule属性的值。替换仅限于cs:names元素中渲染的第一个名字。

subsequent-author-substitute-rule

​ 用来指定subsequent-author-substitute的结果怎么替换。允许的值为:

  • “complete-all” - 默认值,当名字变量中的所有渲染的名字和上一个参考文献条目相同时,subsequent-author-substitute 属性的值将代替整个名字列表(包括标点和术语,比如 et-al 和 and 等术语),但cs:names元素中设置的后缀将不会被代替。
  • “complete-each” - 和”complete-all”一样,需要完整的匹配,但是subsequent-author-substitute 属性的值将会代替所有被渲染的名字。
  • “partial-each” - 当有一个或者多个名字变量中的渲染名字和上一个条目中相同时,使用subsequent-author-substitute 属性代替对应的值。匹配从第一个名字开始,直到不匹配的名字为止。
  • “partial-first” - 和”partial-each”相同,但是替换仅限于第一个名字。

对下面的例子:

Doe. 1999.
Doe. 2000.
Doe, Johnson & Williams. 2001.
Doe & Smith. 2002.
Doe, Stevens & Miller. 2003.
Doe, Stevens & Miller. 2004.
Doe, Williams et al. 2005.
Doe, Williams et al. 2006.

subsequent-author-substitute设置为"-",并且subsequent-author-substitute-rule设置为"complete-all",渲染结果将变为:

Doe. 1999.
---. 2000.
Doe, Johnson & Williams. 2001.
Doe & Smith. 2002.
Doe, Stevens & Miller. 2003.
---. 2004.
Doe, Williams et al. 2005.
---. 2005.

subsequent-author-substitute-rule设置为"complete-each"时,渲染的结果为:

Doe. 1999.
---. 2000.
Doe, Johnson & Williams. 2001.
Doe & Smith. 2002.
Doe, Stevens & Miller. 2003.
---, --- & ---. 2004.
Doe, Williams et al. 2005.
---, --- et al. 2006.

subsequent-author-substitute-rule设置为"partial-each"时,渲染的结果为:

Doe. 1999.
---. 2000.
Doe, Johnson & Williams. 2001.
--- & Smith. 2002.
Doe, Stevens & Miller. 2003.
---, --- & ---. 2004.
Doe, Williams et al. 2005.
---, --- et al. 2005.

subsequent-author-substitute-rule设置为"partial-first"时,渲染的结果为:

Doe. 1999.
---. 2000.
Doe, Johnson & Williams. 2001.
--- & Smith. 2002.
Doe, Stevens & Miller. 2003.
---, Stevens & Miller. 2004.
Doe, Williams et al. 2005.
---, Williams et al. 2005.

全局选项

人名中的连字符

initialize-with-hyphen

​ 该属性用来制定合成名字中间是不是使用连字符。例如,"Jean-Luc"是一个合成名字,如果该属性设置为"true"(默认),渲染结果为"J.-L.",如果设置为"false",渲染结果为"J.L."

页码范围

page-range-format

​ 用来设置页码范围的格式,是不是使用简写来压缩。其可选的值有:"chicago" (”321–28”), "expanded" ( “321–328”), "minimal" (”321–8”), 或者" minimal-two" (”321–28”)。每一组值前面表示可选的属性值,后面是渲染结果的例子。也可见[附录V 页码范围格式](#附录V 页码范围格式)。使用page-range-delimiter属性可以用来设置页面范围分割的符号,该属性在 CSL 1.0.1 中引入,默认是一个破折号。如果改属性没有设置,就默认使用破折号。

Name Particles

​ 西方人的名字中经常包括一个或者多个小部分,例如,"de"在荷兰人的名字中"W. de Koning"。在仅显示姓氏时,这些小部分可以分为必须保留和可删除(或译为不可省略和可省略)两种类型:这两种类型分别称为non-dropping部分和dropping部分。一个单个的名字可以同时包括这两种类型(不能删除的类型始终位于可删除类型的后面)。例如,"W. de Koning"和法国名字"Jean de la Fontaine"可以被解构为:

{
    "author": [
        {
            "given": "W.",
            "non-dropping-particle": "de",
            "family": "Koning"
        },
        {
            "given": "Jean",
            "dropping-particle": "de",
            "non-dropping-particle": "La",
            "family": "Fontaine"
        }
    ]
}

在仅显示姓氏的时候,只保留不能删除的部分,"De koning""La Fontaine"

在名字倒写的情况下,即姓氏在名字之前,在姓氏后面始终添加dropping particle,但是non-dropping部分可以前置(例如,"de Koning, W.")或者后置(Koning, W. de)。在名字倒写,不可省略粒子前置时,可以使用下面的方式对名字进行排序:排序A:将不可省略粒子和姓一起保留作为主排序键值的一部分;排序B:通过将不可省略粒子和姓分开,并使其成为二级排序键值,并加入可省略粒子(如果有):

Sort order A: 不可省略粒子不降级

  • 主排序键值 “La Fontaine”
  • 次排序键值 “de”
  • 第三排序键值: “Jean”

Sort order B: 不可省略粒子降级

  • 主排序键值 “Fontaine”
  • 次排序键值 “de La”
  • 第三排序键值 “Jean”

对不可省略粒子的设置可以使用demote-non-dropping-particle选项:

demote-non-dropping-particle

​ 用来设置在倒写的名字中不可省略粒子的显示和排序方式(例如 Koning W. de)。可设置的值为:

  • “never”: 不可省略粒子被作为姓中的一部分对待,并附加可省略粒子(”de Koning, W.” “La Fontaine, Jean de”)。不可省略粒子作为主排序键值的一部分(排序A,例如. “de Koning, W.” 将出现在首字母 “D”的区域).
  • “sort-only”: 显示的方式和 “never” 相同,但是不可省略粒子降级作为二级排序键值。(排序B, “de Koning, W.”出现在首字母”K”的区域).
  • “display-and-sort” (默认),可省略粒子和不可省略粒子在最后( “Koning, W. de” 和 “Fontaine, Jean de La”)。对名字排序,所有的粒子都是二级排序键值的一部分。(排序B,”Koning, W. de” 出现在首字母”K”的区域).

某些名字中包含的粒子禁止被降级。在这些情况中,粒子将和姓合并到一起,比如,对于法国名字 Charles de Gaulle

{
    "author": [
        {
            "family": "de Gaulle",
            "given": "Charles"
        }
    ]
}

可继承的名称选项

cs:namescs:name元素的属性也可以在cs:stylecs:citationcs:bibliography元素中设置。这样就不需要每次在cs:namescs:name出现的时候赋值。

​ 可以在cs:name元素中继承的属性有 and, delimiter-precedes-et-al, delimiter-precedes-last, et-al-min, et-al-use-first, et-al-use-last, et-al-subsequent-min, et-al-subsequent-use-first, initialize, initialize-with, name-as-sort-ordersort-separatorname-form属性和name-delimiter属性对英语cs:name元素中的formdelimiter属性。同样地,names-delimiter属性对应cs:names元素中的delimiter属性。

​ 当一个可继承的名称属性在cs:stylecs:citationcs:bibliography中设置时,其值将作用于改元素包含的所有的cs:names元素。如果一个属性在多个可继承的层次设置,最底层的值发挥作用。

局部选项

limit-day-ordinals-to-day-1

​ 日期格式在cs:datecs:date-part元素中定义。默认地,当cs:date-part元素中的name设置为"day"form属性设置为"ordinal"时,所有的天(1到31)将会以序数形式渲染,例如:”January 1st”,”January 2nd”等等。通过将limit-day-ordinals-to-day-1属性设置为"true"(默认值为"false"),序数格式将仅限于每个月的第一天,其他的天将不使用序数格式。这在某些语言中出现,比如法语,”1er janvier”,”2 janvier”,”3 janvier”。

punctuation-in-quote

​ 当cs:text元素渲染时,如果quotes属性设置为"true"(见格式化),并且在输出后有逗号或者句号,punctuation-in-quote属性可以控制标点放在括号的内还是外,"false"为外(默认),"true"为内。

排序 ***

cs:citationcs:bibliography元素可以在cs:layout元素之前携带一个cs:sort子元素,来实现对引文或者参考文献条目的排序。在缺失cs:sort元素时,引文和文献条目将会使用他们在文章中出现的顺序来排序。

cs:sort元素必须包含一个或者多个cs:key子元素,可以在该元素中设置变量([附录 IV 变量](#附录 IV 变量))或者宏名来实现排序。对于每个cs:key元素,排序的顺序可以通过设置sort属性来设置为升序("ascending",默认)或者降序("descending")。属性names-min,names-use-first,names-use-last可以用来覆盖et-al-min/et-al-subsequent-min, et-al-use-first/et-al-subsequent-use-firstet-al-use-last 属性的值,并且可以通过cs:key影响所有的名字.

​ 排序的键值是按顺序求值的,也就是说:首先,使用第一个排序键值对所有的项目进行排序。然后使用第二个键值对第一个键值排序后的结果进行排序,直到所有的键值都完成排序为止。如果键值为空,就放到最后。

​ 这里给出一个例子:其中首先引用"author"宏进行排序,并且使用et al.来对较长的作者序列进行代替。然后,使用"issued"变量来进行第二次排序,使用降序:

<citation>
  <sort>
    <key macro="author" names-min="3" names-use-first="3"/>
    <key variable="issued" sort="descending"/>
  </sort>
  <layout>
    <!-- rendering elements -->
  </layout>
</citation>

​ 变量或者宏的排序键值可以与"normal"渲染的输出不同,具体要依赖下面的细节:

排序变量

cs:key元素通过variable变量属性调用变量的排序键值。名称变量、日期变量和数字变量除外:

名称: 名字变量通过变量属性被调用,例如 <key variable="author"/>,当form属性设置为"long"name-as-sort-order属性设置为"all",返回名字列表字符串。

日期日期变量通过variable属性被调用,返回 YYYYMMDD格式。使用0代替缺失的日期部分,例如:December 2000渲染为20001200。因此,简略的日期在升序排列的时候更加靠前,例如:2000, May 2000, May 1st 2000。负数的年份(即公元前)将被反向排序,比如:100BC, 50BC, 50AD, 100AD。排序过程中,季节将被忽略,因为南北半球的季节顺序不同。在日期范围中,开始的日期用于主要排序,结束日期用于次要排序,例如:2000–2001, 2000–2005, 2002–2003, 2002–2009。在具有相同的开始日期时,日期范围将放在单独的日期后,例如:2000, 2000–2002。

数字数字变量通过variable属性来调用,返回整数(form设置为"numeric")如果原始的变量值仅由非数字文本组成,则将该值作为文本字符串返回。

排序宏

​ 变量排序的键值是由字符串值组成,没有富文本标记。通过宏属性中的键值cs:key来调用。下面为一些特殊情况。

​ 对于名字排序,使用相同的宏而不是直接使用名字变量来渲染和排序有4个好处。第一,可以使用替换,例如:可以使用"editor"变量代替空的"author"变量。第二,可以使用 et-al 缩写,在宏里使用 et-al-min/et-al-subsequent-min, et-al-use-first/et-al-subsequent-use-firstet-al-use-last 可选属性,或者覆盖 cs:key元素中的names-min, names-use-firstnames-use-last 。当 et-al 缩写出现的时候,"et-al""and others"术语不会包括在排序键值中。第三,名字可以只使用姓来排序,即使用宏,其中的cs:nameform属性设置为"short"。最后,通过调用宏,将cs:name中的form属性设置为"count",可以按姓名列表中姓名的数目进行排序。至于使用variable属性对姓名进行排序,将cs:name中的name-as-sort-order属性设置为"all",返回值为排序后的名称列表。

​ 在宏中带有cs:number数字变量的和日期变量的渲染方法和通过变量的调用相同。唯一的区别是:如果通过variable属性调用日期变量,将返回完整的日期。相反地,宏调用则只返回原本要渲染的日期部分。例如:

范围分隔符

​ “citation-number”和”year-suffix”变量的折叠范围以短划线分隔,例如”(1-3,5)”和”(Doe 2000a-c,e)”。

​ “locator” 变量总是使用一个短划线代替任意的连字符。 对 “page” 变量来说,只有cs:style中的page-ran ge-format属性被设置时,替换才会执行(见页码范围)。

格式化

​ 下面的属性可以在cs:date, cs:date-part, cs:et-al, cs:group, cs:label, cs:layout, cs:name, cs:name-part, cs:names, cs:numbercs:text中设置:

font-style

用来设置字体,可能的值为:

  • “normal” 默认
  • “italic” 设置文字的斜体
  • “oblique” 设置没有斜体的文字倾斜

font-variant

Allows for the use of small capitals, 值可以设置为:

  • “normal” 默认
  • “small-caps”

font-weight

设置字宽,值可以为:

  • “normal” 默认
  • “bold”
  • “light”

text-decoration

设置下划线,值可以为:

  • “none” 默认
  • “underline”

vertical-align

设置垂直对齐,值可以为:

  • “baseline” 默认
  • “sup” 上标
  • “sub” 下标

词缀

​ 前缀属性prefix和后缀属性suffix可以在cs:date(使用cs:date定义本地化格式除外),cs:date-partcs:date调用本地化格式除外)、cs:groupcs:labelcs:layoutcs:namecs:namescs:number以及cs:text中设置。属性值用来在输出的前面或者后面添加东西,但是只有输出的时候才会渲染。除在cs:layout中设置外,词缀将出现在同一个元素的格式化引用strip-periodstext-case的影响范围的外面,也就是这些属性的设置对前缀和后缀没有影响。作为一种解决方法,在父元素cs:group中设置上述属性,会产生影响。

分隔符\delimiter

delimiter属性可以在cs:date(用来分隔日期的各部分,如年和月;在cs:date调用本地化格日期格式时,分隔符将被禁用)、cs:name(分隔名字变量中不同的名字列表)、cs:name(分隔名字列表中的名字)、cs:group以及cs;layout(分隔子元素的输出)中设置分隔符。

显示\display

display属性可用于将各个参考文献条目构成一个或者多个文本块。如果使用该属性,所有的渲染元素都在该属性的控制下。(译注:是用来设置对齐效果的)属性可能的值为:

  • “block” - 两边对其
  • “left-margin” - 左对齐。
  • “right-inline” - 右对齐
  • “indent” - 缩进。

A. 除使用second-field-align外,使用"left-margin""roght-inline"可以实现相同的渲染效果。这种操作方式潜在的好处是,可以在最终的输出中进一步控制块的格式,例如,在HTML 的 CSS 或者 word 的样式中。

<bibliography>
  <layout>
    <text display="left-margin" variable="citation-number"
        prefix="[" suffix="]"/>
    <group display="right-inline">
      <!-- rendering elements -->
    </group>
  </layout>
</bibliography>

B. 每个作者的出版物列表。当subsequent-author-substitute设置为空字符串时,具有相同作者的条目的作者名字只渲染一次。

<bibliography subsequent-author-substitute="">
  <sort>
    <key variable="author"/>
    <key variable="issued"/>
  </sort>
  <layout>
    <group display="block">
      <names variable="author"/>
    </group>
    <group display="left-margin">
      <date variable="issued">
        <date-part name="year" />
      </date>
    </group>
    <group display="right-inline">
      <text variable="title"/>
    </group>
  </layout>
</bibliography>

渲染结果将类似下面:

| Author1 | | | —————– | —————— | | year-publication1 | title-publication1 | | year-publication2 | title-publication2 | | Author2 | | | year-publication3 | title-publication3 | | year-publication4 | title-publication4 |

C. 带有注释的条目,注释显示在参下方的缩进块中。

<bibliography>
  <layout>
    <group display="block">
      <!-- rendering elements -->
    </group>
    <text display="indent" variable="abstract" />
  </layout>
</bibliography>

引用\quotes

quotes属性可以在cs:text中设置。当设置为"true"时(默认为"false"),渲染文本将会被包含在引用中。本地化的punctuation-in-quote选项控制用来连接的逗号或者句号是出现在引号的内部还是外部(默认外部),见[Locale options](#Locale options)。

Strip-periods

strip-periods属性可以在cs:label或者cd:text中设置,此外,当name被设置为"month"时,也可以在cs:date-part中设置。当该属性被设置为true的时候(默认的是"false"),所有文本中的句号(英文中为点)将会被删除。

文字大小写

text-case 属性可以在cs:date,cs:date-part,cs:label,cs:name-part,cs:numbercs:text中设置,可设置的值为:

  • “lowercase”: 使用小写字母渲染文本
  • “uppercase”: 使用大写字母渲染文本
  • “capitalize-first”: 如果第一个词是小写的,将首字母设置为大写
  • “capitalize-all”: 将每个小写词的首字母设置为大写
  • “sentence”: renders text in sentence case(以句子的格式设置?)
  • “title”: renders text in title case(以标题的格式来设置?)

句子大小写转换

句子大小写转换(在”Text-case”中设置为”sentence”),

  1. 对于大写字符串,字符串的第一个字符保持为大写。其它字母表示为小写
  2. 对于大小写混合的字符串,如果单词是小写,第一个单词的首字符大写,其它所有单词的大小写保持不变。

CSL 处理器不能识别专有名词。因此,可以将句子大小写的字符转缺的转换为标题大小写,反之亦然。因此,通常最好在句子大小写的情况下存储注入标题之类的字符串,并且仅在样式需要其它大小写的情况下菜使用文本大小写。

标题大小写转换

标题大小写转换(在”Text-case”中设置为”title”)对英语来说:

  1. 对大写的字符串,每个单词的第一个字母保持大写,其它的字母保持小写。
  2. 对于小写或者是混合的字符串,每个小写字符串的首字母大写。大写的字符串或者是混合的字符串保持原样。

两种情况下,stop words必须是小写的,除非他们是第一个或者对后一个单词,或者跟在冒号后面。stop words包括: "a", "an", "and", "as", "at", "but", "by", "down", "for", "from", "in", "into", "nor", "of", "on", "onto", "or", "over", "so", "the", "till", "to", "up", "via", "with",  "yet".

非英语项目

​ 由于许多语言不使用标题大小写,标题大小写转换(在”Text-case”中设置为”title”)仅影响英语项目。

​ 如果cs:style中的default-locale属性没有设置,或者设置为en开头的单词,则假定为英语环境。如果某项的元数据包含一个语言字段,而且该字段不是以"en"开头的,才被视为是非英语环境。

​ 同样的,default-locale被这是为除en开头的字段,就假定为非英语。如果项目是以en开头的字段,就被视为是英语。

附录I 学科分类

  • anthropology 人类学
  • astronomy 天文学
  • biology 生物学
  • botany 植物学
  • chemistry 化学
  • communications 通讯
  • engineering 工程学
  • generic-base - used for generic styles like Harvard and APA 通用基础-用于通用样式,像哈弗和APA
  • geography 地理学
  • geology 地质学
  • history 历史
  • humanities 人文学科
  • law 法学
  • linguistics 语言学
  • literature 文学
  • math 数学
  • medicine 药物学
  • philosophy 哲学
  • physics 物理学
  • political_science 政治科学
  • psychology 心理学
  • science 科学
  • social_science 社会科学
  • sociology 社会学
  • theology 神学
  • zoology 动物学

附录II 术语

术语在本地化文件中使用

Locators/用来定位的术语

  • book 书
  • chapter 章
  • column
  • figure 图
  • folio 作品集
  • issue 议题/问题
  • line 行
  • note 笔记/注记
  • opus 作品(音乐作品)
  • page 页
  • paragraph 段
  • part 部分
  • section 节
  • sub verbo 词条
  • verse 诗
  • volume 卷

Months/月

  • month-01
  • month-02
  • month-03
  • month-04
  • month-05
  • month-06
  • month-07
  • month-08
  • month-09
  • month-10
  • month-11
  • month-12

Ordinals/序数

  • ordinal
  • ordinal-00 through ordinal-99
  • long-ordinal-01
  • long-ordinal-02
  • long-ordinal-03
  • long-ordinal-04
  • long-ordinal-05
  • long-ordinal-06
  • long-ordinal-07
  • long-ordinal-08
  • long-ordinal-09
  • long-ordinal-10

Quotation marks/引号

  • open-quote
  • close-quote
  • open-inner-quote
  • close-inner-quote

Roles/角色

  • author 作者
  • collection-editor 文集编辑
  • composer 作曲者
  • container-author 文章作者
  • director 主任/导演
  • editor 编辑
  • editorial-director 编辑部主任
  • editortranslator
  • illustrator 插画者
  • interviewer 采访者
  • original-author 原作者
  • recipient 收件人
  • reviewed-author 复查作者
  • translator 译者

Seasons/季节

  • season-01
  • season-02
  • season-03
  • season-04

Miscellaneous/其他

  • accessed
  • ad
  • and
  • and others
  • anonymous
  • at
  • available at
  • bc
  • by
  • circa
  • cited
  • edition
  • et-al
  • forthcoming
  • from
  • ibid
  • in
  • in press
  • internet
  • interview
  • letter
  • no date
  • online
  • presented at
  • reference
  • retrieved
  • scale
  • version

附录III 文献类型

  • article 文章
  • article-magazine 杂志文章
  • article-newspaper 新闻文章
  • article-journal 期刊文章
  • bill
  • book 书
  • broadcast
  • chapter 章节
  • dataset 数据集
  • entry
  • entry-dictionary
  • entry-encyclopedia
  • figure 图
  • graphic
  • interview 采访
  • legislation
  • legal_case
  • manuscript
  • map 地图
  • motion_picture
  • musical_score
  • pamphlet
  • paper-conference
  • patent
  • post 海报
  • post-weblog
  • personal_communication 私人交流
  • report 报告
  • review
  • review-book
  • song 歌曲
  • speech 演讲
  • thesis 学位论文
  • treaty
  • webpage 网页

附录IV 变量

标准变量

  • abstract 项目的摘要(例:期刊文章的摘要)

  • annote 读者关于项目内容的笔记

  • archive 保存项目的存档

  • archive_location 存档的位置

  • archive-place 存档的地理位置

  • authority

  • call-number

    call number (to locate the item in a library)

  • citation-label

    label identifying the item in in-text citations of label styles (e.g. “Ferr78”). May be assigned by the CSL processor based on item metadata.

  • citation-number

    index (starting at 1) of the cited reference in the bibliography (generated by the CSL processor)

  • collection-title

    title of the collection holding the item (e.g. the series title for a book)

  • container-title

    title of the container holding the item (e.g. the book title for a book chapter, the journal title for a journal article)

  • container-title-short

    short/abbreviated form of “container-title” (also accessible through the “short” form of the “container-title” variable)

  • dimensions

    physical (e.g. size) or temporal (e.g. running time) dimensions of the item

  • DOI

    Digital Object Identifier (e.g. “10.1128/AEM.02591-07”)

  • event

    name of the related event (e.g. the conference name when citing a conference paper)

  • event-place

    geographic location of the related event (e.g. “Amsterdam, the Netherlands”)

  • first-reference-note-number

    number of a preceding note containing the first reference to the item. Assigned by the CSL processor. The variable holds no value for non-note-based styles, or when the item hasn’t been cited in any preceding notes.

  • genre

    class, type or genre of the item (e.g. “adventure” for an adventure movie, “PhD dissertation” for a PhD thesis)

  • ISBN

    International Standard Book Number

  • ISSN

    International Standard Serial Number

  • jurisdiction

    geographic scope of relevance (e.g. “US” for a US patent)

  • keyword 关键字

  • locator

    a cite-specific pinpointer within the item (e.g. a page number within a book, or a volume in a multi-volume work). Must be accompanied in the input data by a label indicating the locator type (see the Locators term list), which determines which term is rendered by cs:label when the “locator” variable is selected.

  • medium

    medium description (e.g. “CD”, “DVD”, etc.)

  • note

    (short) inline note giving additional item details (e.g. a concise summary or commentary)

  • original-publisher

    original publisher, for items that have been republished by a different publisher

  • original-publisher-place

    geographic location of the original publisher (e.g. “London, UK”)

  • original-title 最初版本的题目

  • page 项目的页码范围

  • page-first 页码范围的第一个页码

  • PMCID

    PubMed Central reference number

  • PMID

    PubMed reference number

  • publisher 出版商/出版社

  • publisher-place 出版社的地理位置

  • references

    resources related to the procedural history of a legal case

  • reviewed-title

    title of the item reviewed by the current item

  • scale

    scale of e.g. a map

  • section

    container section holding the item (e.g. “politics” for a newspaper article)

  • source

    from whence the item originates (e.g. a library catalog or database)

  • status

    (publication) status of the item (e.g. “forthcoming”)

  • title

    primary title of the item

  • title-short

    short/abbreviated form of “title” (also accessible through the “short” form of the “title” variable)

  • URL 链接

  • version 版本

  • year-suffix

    disambiguating year suffix in author-date styles (e.g. “a” in “Doe, 1999a”)

数据变量

Number variables are a subset of the Standard Variables.

  • chapter-number

    章序号

  • collection-number

    number identifying the collection holding the item (e.g. the series number for a book)

  • edition

    版本序号(注意和version的区别)

  • issue

    (container) issue holding the item (e.g. “5” when citing a journal article from journal volume 2, issue 5)

  • number

    number identifying the item (e.g. a report number)

  • number-of-pages

    引用项目的总的页数

  • number-of-volumes

    total number of volumes, usable for citing multi-volume books and such

  • volume

    (container) volume holding the item (e.g. “2” when citing a chapter from book volume 2)

日期变量

  • accessed

    date the item has been accessed

  • container

    ?

  • event-date

    date the related event took place

  • issued

    date the item was issued/published

  • original-date

    (issue) date of the original version

  • submitted

    date the item (e.g. a manuscript) has been submitted for publication

名字变量

  • author

  • collection-editor

    editor of the collection holding the item (e.g. the series editor for a book)

  • composer

    composer (e.g. of a musical score)

  • container-author

    author of the container holding the item (e.g. the book author for a book chapter)

  • director

    director (e.g. of a film)

  • editor

  • editorial-director

    managing editor (”Directeur de la Publication” in French)

  • illustrator

    illustrator (e.g. of a children’s book)

  • interviewer

    interviewer (e.g. of an interview)

  • original-author

  • recipient

    recipient (e.g. of a letter)

  • reviewed-author

    author of the item reviewed by the current item

  • translator

附录V 页码范围格式

cs:style元素中的page-range-format表示了页码的缩写规则,其取值可能是:

"chicago"

| 第一个数字 | 第二个数字 | 例 | | ———————————— | ———————————————- | ———————————— | | 小于100 | 使用所有的位数 | 3–10; 71–72 | | 100或者100的整数 | 使用所有的位数 | 100–104; 600–613; 1100–1123 | | 100到109 (包括对应100的倍数的范围) | 仅使用有变化的部分,忽略不需要的0 | 107–8; 505–17; 1002–6 | | 110到199 (包括对应100的倍数的范围) | 根据需要使用两位数或者更多 | 321–25; 415–532; 11564–68; 13792–803 | | 4位数 | 如果数字是4位并且其中有3位不同,使用所有的位数 | 1496–1504; 2787–2816 |

"expanded"

​ 扩展模式,不适用缩写。eg. 42–45、321–328、2787–2816

"minimal"

​ 第二个数字中重复的所有数字都被省略:42–5,321–8,2787–816

"minimal-two"

​ 和"minimal"类似,但当第二个数字有两个或者两个以上的数字时,第二个数字至少保留两位。